# -*- coding: utf-8 -*-

# 程序控制器框架文件

import sys, os


from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QPixmap

from Viewer import Frame
from Moder import Moder



class controller(object):

    def __init__(self):

        app = QApplication(sys.argv)
        # 创建中心部件widget
        self.center = Frame.centerWidget()
        # 创建主窗体部件
        self.frame = Frame.frame(self.center)
        # 创建模型
        self.moder = Moder.moder()
        # 初始化窗体中'区域下拉框'默认数值
        self.setAreaComboxValue()
        # 初始化窗体中'名称下拉框'默认数值
        self.setNameComboxValue()
        # 显示主窗体
        self.frame.show()
        # 信号
        # 按键信号,显示数据分析结果
        self.center.btn.clicked.connect(self.showInfo)
        # areaCombox改变时信号
        # 设置nameCombox为对应的值
        self.center.areaCombox.activated.connect(self.setNameComboxValue)
        # 程序结束信号
        # 删除临时文件(先删除文件夹,再创建同名文件夹)



        # 程序关闭
        sys.exit(app.exec_())

    # 初始化窗体中'区域下拉框'默认数值
    def setAreaComboxValue(self):
        # 赋值widget 区域下拉框
        for item in self.moder.getAreaList():
            self.center.areaCombox.addItem(item)

    # 初始化窗体中'区域下拉框'默认数值
    def setNameComboxValue(self):
        # 得到areaCombox当前数据
        areaComboxValue = self.center.areaCombox.currentText()
        # 得到指定区域名中所有的小区名称
        names = self.moder.getNameList(areaComboxValue)
        # 设置值
        # 首先清空原有数据
        self.center.nameCombox.clear()
        # 再添加数据
        for item in names:
            self.center.nameCombox.addItem(item)


    # 显示数据信息
    # 按键事件
    def showInfo(self):
        # 读取区域/阀值
        areaflag = int(self.center.areaflagEdit.text())
        # 读取小名称/阀值
        nameflag = int(self.center.nameflagEdit.text())
        # 读取价格阀值
        priceflag = int(self.center.priceflagEdit.text())

        # 加载图片
        self.moder.show_pie(flag=areaflag, img_name='整体分布')
        self.moder.show_name_percent(areaname=self.center.areaCombox.currentText(), flag=nameflag)
        self.moder.show_info(location=self.center.areaCombox.currentText(), name=self.center.nameCombox.currentText(), priceflag=priceflag)

        self.areaImagePixmap = QPixmap('./sources/imgtemp/整体分布.png')
        self.nameImagePixmap = QPixmap('./sources/imgtemp/' + self.center.areaCombox.currentText() + '.png')
        self.infoImagePixmap = QPixmap('./sources/imgtemp/' + self.center.areaCombox.currentText() + '_' + self.center.nameCombox.currentText() + '.png')

        # 添加图片
        self.center.areaImageLabel.setPixmap(self.areaImagePixmap)
        self.center.nameImageLabel.setPixmap(self.nameImagePixmap)
        self.center.infoImageLabel.setPixmap(self.infoImagePixmap)

    # 删除临时文件
    def deleteTempFiles(slef):

        path = './sources/imgtemp/'
        os.rmdir(path)
        os.mkdir(path)
        print(1)
        pass






